perm filename BSP.TEX[FTL,LSP] blob
sn#805900 filedate 1985-09-27 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00014 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % fonts
C00005 00003 % page layout
C00007 00004 % Tables of Contents
C00009 00005 % Index
C00011 00006 % Headers
C00014 00007 % Lists
C00017 00008 % Danger, Caution, and Warning paragraphs
C00018 00009 % screen text examples
C00020 00010 % notes
C00023 00011 % Fast Path
C00024 00012 % Figures
C00026 00013 % user guide chapter stuff
C00032 00014 % output routines
C00036 ENDMK
C⊗;
% fonts
\def\Font#1{\def\next{\fixfont#1}\afterassignment\next\font#1}
\def\fixfont#1{\fontdimen3#1=0pt\fontdimen4#1=0pt}
% press medium
\Font\prmseven = amr7 % timesroman at 7pt
\Font\prmeight = amr8 % timesroman at 8pt
\Font\prmten = amr10 % timesroman at 10pt
\Font\prmeleven = amr10 scaled \magstephalf % timesroman at 11pt
\Font\prmtwelve = amr10 scaled \magstep1 % timesroman at 12pt
% press bold
\Font\prbnine = ambx9 % timesromanb at 9pt
\Font\prbten = ambx10 % timesromanb at 10pt
\Font\prbeleven = ambx10 scaled \magstephalf % timesromanb at 11pt
\Font\prbtwelve = ambx10 scaled \magstep1 % timesromanb at 12pt
\Font\prbfourteen=ambx10 scaled \magstep2 % timesromanb at 14pt
\Font\prbsixteen= ambx9 scaled \magstep3 % timesromanb at 16pt
\Font\prbeighteen=ambx9 scaled \magstep4 % timesromanb at 18pt
% press italics
\Font\priten = amti10 % timesromani at 10pt
\Font\prieleven = amti10 scaled \magstephalf % timesromani at 11pt
% press bold italics
\Font\prbiten = ambl10 % timesromanbi at 10pt
\Font\prbieleven= ambl10 scaled \magstephalf % timesromanbi at 11pt
% letter gothic
\Font\lgseven = amtt8
\Font\lgnine = amtt9
% universe medium
\Font\unmeight = helvetica at 8pt
\def\tenpoint
{\let\rm\prmten
\let\bf\prbten
\let\it\priten
\let\bit\prbiten
\let\bbf\prbeleven
\baselineskip 11pt
\rm
}
\def\elevenpoint
{\let\rm\prmeleven
\let\bf\prbeleven
\let\it\prieleven
\let\bit\prbieleven
\let\bbf\prbtwelve
\baselineskip 12pt
\rm
}
\def\twelvepoint
{\let\rm\prmtwelve
\let\bf\prbtwelve
\baselineskip 13pt
\rm
}
\let\normaltype=\elevenpoint
\normaltype
% page layout
\newskip \normalleftskip \normalleftskip=10pc
\newskip \comleftskip \comleftskip = 6pc
\newskip \normalparskip \normalparskip = 1pc
\vsize 43pc
\topskip 2pc
\hsize 40pc
\leftskip \normalleftskip
\rightskip 0pc plus 2pc
\parindent 0pc
\parskip \normalparskip
\def\nulldef{}
\let\NIS=\nointerlineskip
\def\NIPS{\NIS\parskip 0pc\relax}
\def\removedepth
{\ifdim \prevdepth>-1000pt \vskip -\prevdepth\fi}
\def\Vskip #1!{\endgraf
\removedepth
\ifdim \lastskip<#1 \ifdim \lastskip>0pc \removelastskip\fi \vskip#1\NIPS\fi}
\def\par{\ifvmode\else\endgraf
\removedepth
\NIS\parskip \normalparskip\relax\fi}
\let\normpar=\par
\let\fullline=\line
\newtoks \headline
\newtoks \footline
\countdef\pageno=0 \pageno=-1
\let\chapno = \nulldef
% Tables of Contents
\newwrite \tocfile
\openout \tocfile \jobname.toc
\def\dotleader{\leaders\hbox to10pt {\hfil.\hfil}\hfil}
{\obeylines
\gdef\Czero#1
{\Vskip1pc!\fullline{\hskip\normalleftskip\bbf #1\hfil}}
\gdef\Cone#1\!#2
{\Vskip1pc!\fullline{\hskip\normalleftskip\bbf #1\dotleader#2}}
\gdef\Ctwo#1\!#2
{\moveright\fullline{\hskip\normalleftskip\bf #1\dotleader#2}}
\gdef\Cthree#1
{}
\global\let\Cfour\Cthree
\global\let\Pzero\Cthree
\global\let\Pone \Cthree
\gdef\Ptwo#1\!#2
{\fullline{\rm #1\dotleader#2}}
\gdef\Pthree#1\!#2
{\fullline{\hskip 1pc\rm #1\dotleader#2}}
\global\let\Pfour\Cthree
}
\def\marginstyle{\prmseven\vrule height6pt depth2pt width0pt}
\def\toc#1#2{\xdef\writeit{\write\tocfile{!#1#2!!\noexpand\pagenumber}}\writeit}
\toc4{}
\def\PTOC
{\HeadIV{CONTENTS}
{\let\0\Pzero\let\1\Pone\let\2\Ptwo\let\3\Pthree\let\4\Pfour
\obeylines\catcode`\!=0\relax\input\jobname.tc\relax}
\vfil\break
}
% Index
\newwrite \idxfile
\openout\idxfile \jobname.idx
\write\idxfile{}
\newinsert \idxins
\dimen\idxins=\maxdimen
\count\idxins=0
\skip\idxins = 0pt
\newif \ifsilent
\newif \ifbold
\let\indexb=b
\def\specialhat{\ifmmode\def\next{↑}\else\let\next\beginxref\fi\next}
\def\beginxref{\futurelet\next\silentswitch}
\def\silentswitch{\ifx\next\specialhat
\let\next\silentxref
\else\silentfalse\let\next\contxref\fi
\next}
\def\contxref{\futurelet\next\boldswitch}
\def\boldswitch
{\ifx \next\indexb
\let\next\boldxref
\else\boldfalse\let\next\xref\fi
\next}
\catcode`\↑=\active \let ↑=\specialhat
\def\silentxref ↑{\silenttrue\contxref}
\def\boldxref b{\boldtrue \xref}
\def\xref
#1{\ifproofmode\insert\idxins{\hbox{\marginstyle\ifbold\llap{b }\fi#1}}\else
\ifhmode\kern0pt\fi\fi
\ifbold\xdef\writeit{\write\idxfile{#1!1!\noexpand\pagenumber}}\else
\xdef\writeit{\write\idxfile{#1!2!\noexpand\pagenumber}}\fi
\writeit
\ifsilent\ignorespaces\else#1\fi
}
% Headers
% note: Head Level 1 should appear only at the top of a page
\def\Head #1{\setbox0=\fullline{\prbeighteen\hss#1}\ht0=0pc\vglue .5pc
\toc0{#1}\box0\Vskip 5pc!}
\def\HeadI #1{\setbox0=\fullline{\prbeighteen\hss#1}\ht0=0pc\vglue .5pc
\toc1{#1}\box0\Vskip 5pc!}
\def\HeadII #1{\Vskip 3pc!\toc2{#1}\fullline{\prbsixteen #1\hss}\Vskip 2pc!}
\def\HeadIII#1{\Vskip 2pc!\toc3{#1}\fullline{\prbfourteen #1\hss}\Vskip 1pc!}
\def\HeadIV #1{\Vskip 2pc!\toc4{#1}\fullline{\prbtwelve #1\hss}\Vskip 1pc!}
\def\HeadV #1{\Vskip1.5pc!\fullline
{\hskip\comleftskip\prbeleven #1\hss}\Vskip 1pc!}
\def\altHeadII #1{\Vskip 3pc!\toc2{#1}\fullline
{\prbsixteen\hskip \normalleftskip#1\hss}\Vskip 4pc!}
\def\altHeadIV #1{\Vskip 1pc!\toc4{#1}\fullline{\prbtwelve #1\hss}\Vskip .5pc!}
% Lists
\newskip\iskip \newskip\iiskip \newskip\iiiskip
\newbox \firstcolbox \newbox \othercolbox
\def\bull
{\ifmmode\bullet\else$\bullet$\fi}
\def\listlabel
#1{\noindent\hbox to 0pc{\hskip -1.5pc #1\hss}\ignorespaces}
\def\item
#1{\par\leftskip\iskip \listlabel{#1}}
\def\itemitem
#1{\par\leftskip\iiskip \listlabel{#1}}
\def\itemitemitem
#1{\par\leftskip\iiiskip\listlabel{#1}}
\def\beginlist
{\begingroup\iiiskip=\leftskip
\advance\iiiskip 1.5pc\iskip =\iiiskip
\advance\iiiskip 1.5pc\iiskip =\iiiskip
\advance\iiiskip 1.5pc\relax
\Vskip 1pc!}
\def\endlist
{\par\endgroup\Vskip 1pc!}
\def\beginTwoColList
{\begingroup
\leftskip=0pc
\Vskip 2pc!}
\def\firstcolumn
{\hsize 19pc
\iskip =1.5pc
\iiskip =3pc
\iiiskip=4.5pc
\setbox\firstcolbox=\vbox}
\def\secondcolumn
{\setbox\othercolbox=\vbox}
\def\endTwoColList
{\Vskip 1pc!
\dim0 = dp\firstcolbox \dim2=-\dim0
\dim4 = dp\othercolbox \dim6=-\dim4
\setbox0\vtop{\unvbox\firstcolbox}
\setbox2\vtop{\unvbox\othercolbox}
\advance\dim2 \dp0
\advance\dim6 \dp2
\ifdim \dim6>\dim2 \dim0=\dim4\fi
\wd0=19pc\wd2=19pc
\fullline{\box0\hskip2pc\box2}
\prevdepth=\dim0
\endgroup
\Vskip1pc!}
% Danger, Caution, and Warning paragraphs
\def\Danger{\begingroup \twelvepoint\bf
\def\par{\normpar\endgroup}
DANGER\hfil\break}
\def\Caution{\begingroup \twelvepoint\bf
\def\par{\normpar\endgroup}
CAUTION\hfil\break}
\def\Warning{\begingroup \twelvepoint\bf
\def\par{\normpar\endgroup}
Warning: }
% screen text examples
{\obeylines\gdef\eatcr#1
{\noindent}}
\chardef\bslash=`\\
\chardef\other=12
{\obeyspaces\global\let =\ }
\def\screen!{\Vskip \normalparskip!\begingroup
\baselineskip 10pt\lgnine
\parfillskip 0pt plus1fil
\parskip 0pt
\def\par{\leavevmode\endgraf}
\let\\=\bslash
\catcode`\{=\other
\catcode`\}=\other
\catcode`\$=\other
\catcode`\&=\other
\catcode`\#=\other
\catcode`\↑=\other
\catcode`\↓=\other
\catcode`\_=\other
\catcode`\~=\other
\catcode`\%=\other
\obeyspaces\obeylines\eatcr}
\def\endscreen!{\endgraf\endgroup\Vskip\normalparskip!}
\def\widescreen{\Vskip \normalparskip!\begingroup
\leftskip 0pc
\baselineskip 10pt\lgnine
\parfillskip 0pt plus1fil
\parskip 0pt
\def\par{\leavevmode\endgraf}
\let\\=\bslash
\catcode`\{=\other
\catcode`\}=\other
\catcode`\$=\other
\catcode`\&=\other
\catcode`\#=\other
\catcode`\↑=\other
\catcode`\↓=\other
\catcode`\_=\other
\catcode`\~=\other
\catcode`\%=\other
\obeyspaces\obeylines\eatcr}
% notes
\def\note{\Vskip 1pc!{\bf Note:} }
\def\longnote{\Vskip 1pc!\begingroup
\advance\leftskip 1.5pc
{\bf Note:} }
\def\notes{\Vskip 1pc!{\bf Notes:}\par\beginlist}
\let\endlongnote=\endlist
\let\endnotes =\endlist
% Fast Path
\def\beginFastPath
#1{\begingroup
\endgraf
\def\FPname{#1}
\leftskip 1pc
\hsize 358pt
\global\setbox1=\vbox}
\def\endFastPath
{\Vskip1pc!\moveright 10pc
\vbox{\hbox to 30pc{\vrule height 1pt width 2pc\hskip.5pc\raise .5pt\vbox to 0pc
{\vss\hbox{\prbtwelve \FPname}\vss}\hskip .5pc\leaders\hrule height 1pt\hfil}
\NIS\hbox{\vrule width 1pt\box1\vrule width 1pt}\NIS
\hrule height 1pt}
\endgroup
\Vskip1pc!}
\def\MDI{\Vskip2pc!\hbox{\prbfourteen More Detailed Information}\Vskip1pc!}
% Figures
%Syntax:
% \boxfig (or \rulefig) (or \fig)
% { }
% \caption{ }
% \endfig
\newwrite \figfile
\openout \figfile \jobname.fig
\newif \iffigrule
\newif \iffigbox
\newcount\capno \capno=1
\def\fig
{\figrulefalse\figboxfalse\global\setbox1=\vbox}
\def\finishfig
{}
\def\rulefig
{\figruletrue\figboxfalse\global\setbox1=\vbox}
\def\finishrulefig
{}
\def\boxfig
{\figrulefalse\figboxtrue
\begingroup
\advance\hsize by -\leftskip\advance\hsize -\rightskip
\advance\hsize -2pt
\leftskip 6pt\global\setbox1=\vbox}
\def\finishboxfig
{\wd1=\hsize
\endgroup
\Vskip1pc!
\moveright\leftskip\vbox{\hrule height1pt
\hbox{\vrule width 1pt
\vbox{\hrule height0pt width \wd1\vskip1pc\unvbox1\Vskip1pc!}\vrule width 1pt}
\NIS\hrule height1pt}
\Vskip1pc!
\ifx\captext\nulldef
\else\moveright\leftskip\makecapline\Vskip1pc!\global\let\captext\nulldef\fi
}
\def\endfig
{\iffigrule\finishrulefig
\else\iffigbox\finishboxfig
\else\finishfig
\fi\fi}
\def\caption#1{\gdef\captext{Figure \chapno--\the\capno. #1}}
\let\captext=\nulldef
\def\makecapline
{\hbox{\prbnine \captext}\figlist2\advance\capno 1\relax}
\def\figlist
#1{\xdef\writeit{\write\figfile{!#1\captext!!\noexpand\pagenumber}}\writeit}
\figlist4
% user guide chapter stuff
\def\beginChapter
#1.#2#3{\pageno=1\capno=1\relax
\def\chapno{#1}\def\chapline{#3}\let\comline\nulldef
\HeadI{Chapter #1. #2}
\vfil\break
\normaltype
\PTOC
}
\def\beginIntro
{\leftskip \normalleftskip
\altHeadII{About This Chapter}}
\def\beginSection
#1{\HeadII{#1}}
\def\beginSubsection
#1{\HeadIII{#1}}
\def\beginsubsubsection
#1{\HeadIV{#1}}
\def\begincom
#1{\def\comline{\lowercase{#1}}
\comfirsttrue
\leftskip \comleftskip
\HeadII{#1}
\hrule height 1pt
\parskip \normalparskip
\vbox to 0pc{}
}
\def\endIntro{\ifdim \pagetotal>0pc \vfil\break\fi}
\let\endSection=\endIntro
\let\endSubsection\nulldef
\let\endsubsubsection\nulldef
\let\endcom=\endSection
\def\endChapter{\endSection\ifodd\pageno\else\let\comline\nulldef\vfil\break\fi}
\def\label
#1:{\noindent\hbox to 0pc{\bf\hskip-6pc#1:\hss}\ignorespaces}
% output routines
\newif \iffooter % if there a footer
\newif \ifticks % positioning lines for output
\newif \ifcomfirst % header in command chapter
\newif \ifproofmode % exhibit index entries
\def\bspout#1{\shipout\vbox
{\offinterlineskip
\ifticks\topticks\fi
\makeheadline
\makepagerule
\listindex
\vbox to 45pc {#1\vss\makefootline}
\ifticks\botticks\fi}
\advancepageno
\global\comfirstfalse
}
\def\makepagerule{\hrule height1.5pt width \hsize}
\def\makeheadline{\setbox0=\fullline{\the\headline}\ht0=1pc\dp0=4.5pt\box0}
\headline={\prbfourteen\ifcomfirst\else
\ifodd\pageno\hss\comline\else\comline\hss\fi\fi}
\def\makefootline{\iffooter\setbox0=\fullline{\the\footline}\dp0=.5pc\box0\fi}
\footline={\normaltype
\ifodd\pageno\hss\chapline\ \ \folio\else\folio\ \ \bookline\hss\fi}
\def\folio{{\bf\pagenumber}}
\def\pagenumber{\ifnum\pageno>0 \chapno--\the\pageno\else\romannumeral-\pageno\fi}
\def\listindex
{\ifvoid\idxins\else\rlap{\kern41pc\vbox to 0pc{\kern4pt\unvbox\idxins\vss}}\fi}
\def\advancepageno{\ifnum\pageno<0 \global\advance\pageno -1
\else\global\advance\pageno 1\fi} % increase |pageno|
\def\normalpage{\unvbox255\relax}
\output{\bspout\normalpage}
\def\topticks{\setbox0=\fullline{\hskip-1pc\vrule height .2pt width 1pc\relax
\hskip -.2pt\vrule height 1pc width .2pt\hfil
\vrule height 1pc width .2pt\hskip -.2pt\relax
\vrule height .2pt width 1pc\hskip -1pc}\ht0=0pc\box0}
\def\botticks{\setbox0=\fullline{\hskip-1pc\vrule height 0pt depth .2pt width 1pc\relax
\hskip -.2pt\vrule height 0pt depth 1pc width .2pt\hfil
\vrule height 0pt depth 1pc width .2pt\hskip -.2pt\relax
\vrule height 0pt depth .2pt width 1pc\hskip -1pc}\dp0=0pc\box0}
\def\pageticks{\tickstrue}
\def\nopageticks{\ticksfalse}
\def\footers{\footertrue}
\def\nofooters{\footerfalse}
\let\comline \nulldef \let\bookline\nulldef \let\chapline\nulldef
\footers
\pageticks
\proofmodetrue